<?php
namespace app\admin\controller;

use app\admin\logic\UserLogic;
use app\admin\model\UserModel;
use app\admin\model\AnounceModel;
use app\admin\model\WebsiteModel;

class System extends Base
{

    // 公告
    public function anounce()
    {
        // 提交数据处理
        if (request()->isAjax()) {

            // 获取数据
            $data    = input("param.");
            $data['status']   = empty($data['status']) ? -1 : $data['status'];
            
            // 添加用户
            $anounce = new AnounceModel();
            if (!empty($data['id'])) {
                $res = $anounce->save_data($data);
            }else{
                $res = $anounce->insert_data($data);
            }
            return json($res);
        }else{

            // 查询最新公告
            $anounce = new AnounceModel();
            $where = ['status' => 1];
            $order = "id desc";
            $data  = $anounce->get_info($where, $order);

            if (!empty($data)) {

                return view('anounce', ['data' => $data]);
            }else{

                return view('anounce');
            }
        }
    }

    // 个人资料
    public function info()
    {
        // 获取用户ID
        $user_id = input("param.user_id", '');
        if(empty($user_id)){
            exception('用户ID不存在', 10006);
        }

        // 获取数据
        $usermodel = new UserModel();
        $info = $usermodel::get($user_id);

        // 状态
        $info['status'] = config('logic.user_status')[$info['status']];

        return view("info", ['data' => $info]);
    }

    // 编辑用户信息
    public function edit()
    {
        // 提交数据处理
        if (request()->isAjax()) {

            // 获取数据
            $data = input("param.");
            
            // 验证信息
            $res = $this->validate($data, \app\admin\validate\User::class);
            if ($res !== true) {
                // 返回错误信息；
                echo json_encode(msg_error($res));
                exit;
            }

            // 添加用户
            $user = new UserLogic();
            $res  = $user->add_user($data);

            return json_encode($res);
        }else{
            // 获取用户ID
            $user_id = input("param.user_id", '');
            
            if (!empty($user_id)) {
                // 编辑
                $userlogic = new UserLogic();
                $data = $userlogic->get_user_info($user_id);
                if (@$data['status'] == -1) {
                    exception($data['msg']);
                }

                return view('edit', $data);                
            }else{
                $groupmodel = new GroupModel();
                $group = $groupmodel::all(); 

                return view('edit', ['group' => $group]);
            }
        }
    }


    // 网站信息
    public function website()
    {
        // 提交数据处理
        if (request()->isAjax()) {

            // 获取数据
            $data    = input("param.");
            $data['status']   = empty($data['status']) ? -1 : $data['status'];
            
            // 添加用户
            $website = new WebsiteModel();
            if (!empty($data['id'])) {
                $res = $website->save_data($data);
            }else{
                $res = $website->insert_data($data);
            }
            return json($res);
        }else{

            // 查询最新公告
            $website = new WebsiteModel();
            $data    = $website::get(1);

            if (!empty($data)) {
                return view('website', ['data' => $data]);
            }else{
                return view('website');
            }
        }
    }

}
